import express from 'express';
import { createConnectionPool } from '../../mysql/index.js';
import axiosInstance from '../../utils/request.js';

const router = express.Router();

// 创建数据库连接池
let connection = await createConnectionPool();
router.get('/verif_api/user/api/get_group', async (req, res) => {
    const { u_id } = req.query;

    if (!u_id) {
        return res.status(400).send({ error: 'u_id 不存在' });
    }

    try {
        // 查询数据库获取匹配的 u_id 的数据
        const [rows] = await connection.execute('SELECT * FROM grouping_management WHERE u_id = ?', [u_id]);
        if (!rows.length) {
            rows = [];
        }
        // 发送查询结果
        res.status(200).send({
            code: 1,
            data: rows,
            message: "成功",
            total: rows.length
        });
    } catch (error) {
        // 记录错误并发送错误响应
        console.error('Error executing query:', error);
        res.status(500).send({ error: 'An error occurred while fetching the order classifications' });
    }
});

router.post('/verif_api/user/api/add_group', async (req, res) => {
    // 检查请求体中是否存在 title
    if (!req.body.title) return res.status(400).send({ error: 'title 不存在' });
    if (!req.body.u_id) return res.status(400).send({ error: 'u_id 不存在' });
    if (!req.body.id) return res.status(400).send({ error: 'id 不存在' });
    const { id, u_id, title } = req.body;

    try {
        // 检查是否已存在相同的 name
        const [existingNames] = await connection.execute('SELECT COUNT(*) AS count FROM grouping_management WHERE title = ?', [title]);
        if (existingNames[0].count > 0) {
            return res.status(400).send({ error: '不能重复添加' });
        }

        // 构建 SQL 查询
        const Query = `
            INSERT INTO grouping_management (
                id, u_id, title
            ) VALUES (
                ?, ?, ?
            )
        `;

        // 使用提供的参数执行查询
        await connection.execute(Query, [
            id, u_id, title
        ]);

        // 发送成功响应
        res.status(200).send({ code: 1, message: 'message' });
    } catch (error) {
        // 记录错误并发送错误响应
        console.error('Error executing query:', error);
        res.status(500).send({ error: 'An error occurred while adding the order classification' });
    }  // 检查请求体中是否存在 title

});

router.delete('/verif_api/user/api/del_group', async (req, res) => {
    const { id } = req.query;

    if (!id) {
        return res.status(400).send({ error: 'id 不存在' });
    }

    try {
        // 删除数据库中匹配的 id 的记录
        const [result] = await connection.execute('DELETE FROM grouping_management WHERE id = ?', [id]);

        if (result.affectedRows === 0) {
            return res.status(404).send({ error: '未找到要删除的记录' });
        }

        // 发送成功响应
        res.status(200).send({ success: 'Order classification deleted successfully' });
    } catch (error) {
        // 记录错误并发送错误响应
        console.error('Error executing query:', error);
        res.status(500).send({ error: 'An error occurred while deleting the order classification' });
    }
});

router.post('/verif_api/user/api/edit_group', async (req, res) => {
    // 检查请求体中是否存在 title
    console.log("req.body.title", req.body.title);
    if (!req.body.title) return res.status(400).send({ error: 'title 不存在' });
    if (!req.body.u_id) return res.status(400).send({ error: 'u_id 不存在' });
    if (!req.body.id) return res.status(400).send({ error: 'id 不存在' });
    const { title, u_id, id } = req.body;

    try {
        // 更新 order_classify 表
        const [result] = await connection.execute(
            'UPDATE grouping_management SET title = ?, u_id = ? WHERE id = ?',
            [title, u_id, id]
        );

        if (result.affectedRows === 0) {
            return res.status(404).send({ error: '未找到指定的记录' });
        }

        res.send({ success: true, message: '更新成功' });
    } catch (error) {
        console.error('数据库操作失败', error);
        res.status(500).send({ error: '数据库操作失败' });
    }
})

export default router;
